'use strict'

class image {

  constructor() {
    //param默认就是/:id，若要改变路由，则可以设置此属性，比如设置为/:name
    this.param = '/:name'
  }

  __mid(){
    return[
      {
        name:'token-verify',
        path:['post']
      }
    ]
  }

  //以下方法，若不需要，要去掉，避免无意义的路由。

  //获取资源具体内容
  async get(c) {
    let imgname = c.param.name
    try {
      await c.helper.pipe(`${c.service.imagePath}/${imgname}`, c.reply)
    } catch (err) {
      c.status(404).send('image not found')
    }
  }

  //创建资源
  async post(c) {
    let f = c.getFile('file')

    if (!f) {
      return c.status(400).send('file not found')
    }
    //生成唯一文件名
    let fname = c.helper.makeName(f.filename)
    try {
      await c.moveFile(f, `${c.service.imagePath}/${fname}`)
      c.send(fname)
    } catch (e) {
      c.status(500).send('failed')
    }
  }



}

module.exports = image
